package com.huarui.company.model;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;

import org.ewaf.framework.model.BaseDataObject;

import com.huarui.partner.model.Partner;
import com.huarui.user.model.User;
/**
 *realType                  Int NOT NULL  default 0  ,            -- 实名认证类型(NULL或0 =没有认证，1=个人认证，2=公司认证)
  companyType               Int default 0  ,                      -- 公司类型(0=未认证公司，1=平台，2=汽修厂/4S店，3=经销商，4=大宗贸易商，5=汽车配件厂，6=保险公司)
  balance                   Double default 0 ,                   -- 公司账户
  isCertifying              Int default 0  ,                      -- 是不是正在认证
  contactorIdentityCode     varChar ( 32 ) ,                      -- 负责人/法人身份证号码
  contactorIdPath           varChar ( 512 ) ,                     -- 法人身份证复印件路径
  businessLicensePath       varChar ( 512 ) ,                     -- 营业执照副本复印件路径
  taxCertificationPath      varChar ( 512 ) ,                     -- 税务登记证副本复印伯路径
  basicRigth                Int NOT NULL  default 1  ,            -- 是否有基本进销存
  advertRight               Int default 0  ,                      -- 是否可定购广告
  analysisRight             Int default 0                         -- 是否可定购数据分析
 * @author Administrator
 *
 */
public class Company extends BaseDataObject {
	
	private static final long serialVersionUID = -713383448014210425L;
	
	/**
	 * 用户状态的枚举值[未激活]
	 */
	public static final String STATUS_UNACTIVED = "0";
	/**
	 * 用户状态的枚举值[激活]
	 */
	public static final String STATUS_ACTIVED = "1";
	
	/**
	 * 公司认证类型
	 */
	public final static int AUTHENTICATION_TYPE_COMPANY=2;
	public final static int AUTHENTICATION_TYPE_Privace=1;
	/**
	 * 公司默认类型 0
	 * 公司类型(0=未认证公司，1=平台，2=汽修厂/4S店，3=经销商，4=大宗贸易商，5=汽车配件厂，6=保险公司)	
	 */
	public final static int COMPANY_DEFAULT_TYPE=0;
	/**
	 * 未认证
	 */
	public final static int AUTHENTICATION_TYPE_NONE=0;
	
	/**
	 * 已付费
	 */
	public final static int PAID_YES = 1;
	
	/**
	 * 未付费
	 */
	public final static int PAID_NO = 0;
	
	private Integer id; // ID
	private String email; // email
	private String name; // 公司名称
	private String pyCode; // 拼音码
	private String taxCode; // 税号
	private String contactor; // 负责人/法人
	private String code; // 工商注册号
	private String simpleName; // 公司简称
	private String nameEn; // 公司英文名
	private String business; // 经营项目
	private Integer areaId; // 所在地区
	private String address; // 通讯地址
	private String postcode; // 邮编
	private String tel; // 联系电话
	private String fax; // 传真电话
	private String invoicAddress; // 发票地址
	private String bankName; // 开户行
	private String bankCode; // 银行帐号
	private String qq; // qq
	private String msn; // msn
	private String status = STATUS_UNACTIVED; // 状态(0未激活1激活2待实名认证)
	private String web; // 网址
	private Integer creatorId; // 公司创建人ID
	private String fromSource; // 来源（保留）
	private String activateCode; // 激活码
	private Date gmtCreate; // 创建日期
	private Date gmtModify; // 修改日期
	private User creator; // 公司创建人
	private Set<Partner> customers; // 公司所有的客户
	private Integer provinceId;//省ID
	private Integer cityId;//市ID
	private Integer districtId;//地区ID
	private Integer realType=AUTHENTICATION_TYPE_NONE;//认证类型 (实名认证类型(NULL或0 =没有认证，1=个人认证，2=公司认证)
	private Integer companyType=COMPANY_DEFAULT_TYPE;//公司类型
	private boolean isDelete = false; // 是否删除
    private BigDecimal balance=new BigDecimal(0); //公司账余额
    private int isCertifying=0;            //是不是正在认证
    private String contactorIdentityCode;   //负责人/法人身份证号码
    private String contactorIdPath;       //法人身份证复印件路径
    private String businessLicensePath;   //营业执照副本复印件路径
    private String taxCertificationPath; //税务登记证副本复印伯路径
    private Integer basicRigth=1;     //是否有基本进销存
    private Integer advertRight=0;   //是否可定购广告
    private Integer analysisRight=0;//是否可定购数据分析	
	private Integer  requestRealType;
	private String realTypeName;
	private String companyTypeName;
	private Integer marketId=0;
	private Integer companyId;
	private Integer requestCompanyType;
    private Integer paid = 0;
    private String province;//省
    private String city;//市
    private String district;//区
    private Date gmtValidBegin;
    private String creatorName;
    private Integer certifyingStatus=0;
    private Date gmtValidEnd;
    private String certifyingStatusName;
    private String contactorIdFileName;
    private String businessLicenseFileName;
    private String taxCertificationFileName;
    private String marketName;
    
    
    
	public String getCertifyingStatusName() {
		return certifyingStatusName;
	}

	public void setCertifyingStatusName(String certifyingStatusName) {
		this.certifyingStatusName = certifyingStatusName;
	}

	public Integer getMarketId() {
		return marketId;
	}

	public void setMarketId(Integer marketId) {
		this.marketId = marketId;
	}

	public String getRealTypeName() {
		return realTypeName;
	}

	public void setRealTypeName(String realTypeName) {
		this.realTypeName = realTypeName;
	}

	public String getCompanyTypeName() {
		return companyTypeName;
	}

	public void setCompanyTypeName(String companyTypeName) {
		this.companyTypeName = companyTypeName;
	}

	public Integer getPaid() {
		return paid;
	}

	public void setPaid(Integer paid) {
		this.paid = paid;
	}

	public Date getGmtValidBegin() {
		return gmtValidBegin;
	}

	public void setGmtValidBegin(Date gmtValidBegin) {
		this.gmtValidBegin = gmtValidBegin;
	}

	public Date getGmtValidEnd() {
		return gmtValidEnd;
	}

	public void setGmtValidEnd(Date gmtValidEnd) {
		this.gmtValidEnd = gmtValidEnd;
	}

	public Integer getRealType() {
		return realType;
	}

	public void setRealType(Integer realType) {
		this.realType = realType;
	}

	public Integer getCompanyType() {
		return companyType;
	}

	public void setCompanyType(Integer companyType) {
		this.companyType = companyType;
	}
	public Integer getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(Integer provinceId) {
		this.provinceId = provinceId;
	}

	public Integer getCityId() {
		return cityId;
	}

	public void setCityId(Integer cityId) {
		this.cityId = cityId;
	}

	public Integer getDistrictId() {
		return districtId;
	}

	public void setDistrictId(Integer districtId) {
		this.districtId = districtId;
	}

	public Integer getId() {

		return id;
	}

	public Integer getRequestRealType() {
		return requestRealType;
	}

	public void setRequestRealType(Integer requestRealType) {
		this.requestRealType = requestRealType;
	}
	public Integer getCertifyingStatus() {
		return certifyingStatus;
	}

	public void setCertifyingStatus(Integer certifyingStatus) {
		this.certifyingStatus = certifyingStatus;
	}

	/**
	 * 得到公司email
	 * 
	 * @return
	 */
	public String getEmail() {
		return email;
	}

	/**
	 * 设置公司Email
	 * 
	 * @param email
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * 得到公司名称
	 * 
	 * @return
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置公司名称
	 * 
	 * @param name
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 得到公司拼音代码
	 * 
	 * @return
	 */
	public String getPyCode() {
		return pyCode;
	}

	/**
	 * 设置公司 拼音代码
	 * 
	 * @param pyCode
	 */

	public void setPyCode(String pyCode) {
		this.pyCode = pyCode;
	}

	/**
	 * 得到公司税号
	 * 
	 * @return
	 */
	public String getTaxCode() {
		return taxCode;
	}

	/**
	 * 设置公司税号
	 * 
	 * @param taxCode
	 */
	public void setTaxCode(String taxCode) {
		this.taxCode = taxCode;
	}

	/**
	 * 得到公司联系人
	 * 
	 * @return
	 */
	public String getContactor() {
		return contactor;
	}

	/**
	 * 设置公司联系人
	 * 
	 * @param contactor
	 */
	public void setContactor(String contactor) {
		this.contactor = contactor;
	}

	/**
	 * 得到公司机构代码
	 * 
	 * @return
	 */
	public String getCode() {
		return code;
	}

	/**
	 * 设置公司机构代码
	 * 
	 * @param code
	 */
	public void setCode(String code) {
		this.code = code;
	}

	/**
	 * 得到公司简称
	 * 
	 * @return
	 */
	public String getSimpleName() {
		return simpleName;
	}

	/**
	 * 设置公司简称
	 * 
	 * @param simpleName
	 */
	public void setSimpleName(String simpleName) {
		this.simpleName = simpleName;
	}

	/**
	 * 得到公司英文名称
	 * 
	 * @return
	 */
	public String getNameEn() {
		return nameEn;
	}

	/**
	 * 设置公司英文名称
	 * 
	 * @param nameEn
	 */
	public void setNameEn(String nameEn) {
		this.nameEn = nameEn;
	}

	/**
	 * 得到公司经营项目
	 * 
	 * @return
	 */
	public String getBusiness() {
		return business;
	}

	/**
	 * 设置公司经营项目
	 * 
	 * @param business
	 */
	public void setBusiness(String business) {
		this.business = business;
	}

	/**
	 * 得到公司地区代码
	 * 
	 * @return
	 */
	public Integer getAreaId() {
		return areaId;
	}

	/**
	 * 设置公司地区代码
	 * 
	 * @param areaId
	 */
	public void setAreaId(Integer areaId) {
		this.areaId = areaId;
	}

	/**
	 * 得到公司通讯地址
	 * 
	 * @return
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * 设置公司通讯地址
	 * 
	 * @param address
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * 得到公司邮编
	 * 
	 * @return
	 */

	public String getPostcode() {
		return postcode;
	}
	/**
	 * 设置公司邮编
	 * 
	 * @param postcode
	 */
	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	/**
	 * 得到公司联系电话
	 * 
	 * @return
	 */
	public String getTel() {
		return tel;
	}



	/**
	 * 设置公司联系电话
	 * 
	 * @param tel
	 */
	public void setTel(String tel) {
		this.tel = tel;
	}

	/**
	 *得到公司传真号码
	 * 
	 * @return
	 */
	public String getFax() {
		return fax;
	}

	/**
	 * 设置公司传真号码
	 * 
	 * @param fax
	 */
	public void setFax(String fax) {
		this.fax = fax;
	}

	/**
	 * 得到公司发票地址
	 * 
	 * @return
	 */
	public String getInvoicAddress() {
		return invoicAddress;
	}

	/**
	 * 设置公司发票地址
	 * 
	 * @param invoicAddress
	 */
	public void setInvoicAddress(String invoicAddress) {
		this.invoicAddress = invoicAddress;
	}

	/**
	 * 得到公司开户银行
	 * 
	 * @return
	 */
	public String getBankName() {
		return bankName;
	}

	/**
	 * 设置公司开户银行
	 * 
	 * @param bankName
	 */
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}

	/**
	 * 得到公司开户行账号
	 * 
	 * @return
	 */
	public String getBankCode() {
		return bankCode;
	}

	/**
	 * 设置公司开户行账号
	 * 
	 * @param bankCode
	 */
	public void setBankCode(String bankCode) {
		this.bankCode = bankCode;
	}

	/**
	 * 得到公司QQ号码
	 * 
	 * @return
	 */
	public String getQq() {
		return qq;
	}

	/**
	 * 设置公司QQ号码
	 * 
	 * @param qq
	 */
	public void setQq(String qq) {
		this.qq = qq;
	}

	/**
	 * 得到公司MSN号码
	 * 
	 * @return
	 */
	public String getMsn() {
		return msn;
	}

	/**
	 * 设置公司MSN号码
	 * 
	 * @param msn
	 */
	public void setMsn(String msn) {
		this.msn = msn;
	}

	/**
	 * 得到公司注册状态
	 * 
	 * @return
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * 设置公司注册状态
	 * 
	 * @param status
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 得到公司网址
	 * 
	 * @return
	 */
	public String getWeb() {
		return web;
	}

	/**
	 * 设置公司网址
	 * 
	 * @param web
	 */
	public void setWeb(String web) {
		this.web = web;
	}

	/**
	 * 得到公司注册来源
	 * 
	 * @return
	 */
	public String getFromSource() {
		return fromSource;
	}

	/**
	 * 得到公司创建者ID
	 * 
	 * @return
	 */
	public Integer getCreatorId() {
		return creatorId;
	}

	/**
	 *设置公司创建者ID
	 * 
	 * @param creatorId
	 */

	public void setCreatorId(Integer createrId) {
		this.creatorId = createrId;
	}

	/**
	 * 设置公司注册来源
	 * 
	 * @param fromSource
	 */
	public void setFromSource(String fromSource) {
		this.fromSource = fromSource;
	}

	/**
	 * 得到公司激活码
	 * 
	 * @return
	 */
	public String getActivateCode() {
		return activateCode;
	}

	/**
	 * 设置公司激活码
	 * 
	 * @param activateCode
	 */
	public void setActivateCode(String activateCode) {
		this.activateCode = activateCode;
	}

	/**
	 * 得到公司注册日期
	 * 
	 * @return
	 */
	public Date getGmtCreate() {
		return gmtCreate;
	}

	/**
	 * 设置公司注册日期
	 * 
	 * @param gmtCreate
	 */
	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	/**
	 * 得到公司信息修改日期
	 * 
	 * @return
	 */
	public Date getGmtModify() {
		return gmtModify;
	}

	/**
	 * 设置公司信息修改日期
	 * 
	 * @param gmtModify
	 */
	public void setGmtModify(Date gmtModify) {
		this.gmtModify = gmtModify;
	}

	/**
	 * 得到公司信息是否删除
	 * 
	 * @return
	 */
	public boolean isDelete() {
		return isDelete;
	}

	/**
	 * 设置公司信息是否删除
	 * 
	 * @param isDelete
	 */
	public void setDelete(boolean isDelete) {
		this.isDelete = isDelete;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * 得到公司创建者
	 * 
	 * @return
	 */
	public User getCreator() {
		return creator;
	}

	/**
	 * 设置公司创建者
	 * 
	 * @param creator
	 */
	public void setCreator(User creator) {
		this.creator = creator;
	}

	public Set<Partner> getCustomers() {
		return customers;
	}

	public void setCustomers(Set<Partner> customers) {
		this.customers = customers;
	}

	public BigDecimal getBalance() {
		return balance;
	}

	public void setBalance(BigDecimal balance) {
		this.balance = balance;
	}

	public int getIsCertifying() {
		return isCertifying;
	}

	public void setIsCertifying(int isCertifying) {
		this.isCertifying = isCertifying;
	}

	public String getContactorIdentityCode() {
		return contactorIdentityCode;
	}

	public void setContactorIdentityCode(String contactorIdentityCode) {
		this.contactorIdentityCode = contactorIdentityCode;
	}

	public String getContactorIdPath() {
		return contactorIdPath;
	}

	public void setContactorIdPath(String contactorIdPath) {
		this.contactorIdPath = contactorIdPath;
	}

	public String getBusinessLicensePath() {
		return businessLicensePath;
	}

	public void setBusinessLicensePath(String businessLicensePath) {
		this.businessLicensePath = businessLicensePath;
	}

	public String getTaxCertificationPath() {
		return taxCertificationPath;
	}

	public void setTaxCertificationPath(String taxCertificationPath) {
		this.taxCertificationPath = taxCertificationPath;
	}

	public Integer getBasicRigth() {
		return basicRigth;
	}

	public void setBasicRigth(Integer basicRigth) {
		this.basicRigth = basicRigth;
	}

	public Integer getAdvertRight() {
		return advertRight;
	}

	public void setAdvertRight(Integer advertRight) {
		this.advertRight = advertRight;
	}

	public Integer getAnalysisRight() {
		return analysisRight;
	}

	public void setAnalysisRight(Integer analysisRight) {
		this.analysisRight = analysisRight;
	}

	public Integer getRequestCompanyType() {
		return requestCompanyType;
	}

	public void setRequestCompanyType(Integer requestCompanyType) {
		this.requestCompanyType = requestCompanyType;
	}

	public Integer getCompanyId() {
		return companyId;
	}

	public void setCompanyId(Integer companyId) {
		this.companyId = companyId;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getDistrict() {
		return district;
	}

	public void setDistrict(String district) {
		this.district = district;
	}

	public String getCreatorName() {
		return creatorName;
	}

	public void setCreatorName(String creatorName) {
		this.creatorName = creatorName;
	}

	public String getContactorIdFileName() {
		return contactorIdFileName;
	}

	public void setContactorIdFileName(String contactorIdFileName) {
		this.contactorIdFileName = contactorIdFileName;
	}

	public String getBusinessLicenseFileName() {
		return businessLicenseFileName;
	}

	public void setBusinessLicenseFileName(String businessLicenseFileName) {
		this.businessLicenseFileName = businessLicenseFileName;
	}

	public String getTaxCertificationFileName() {
		return taxCertificationFileName;
	}

	public void setTaxCertificationFileName(String taxCertificationFileName) {
		this.taxCertificationFileName = taxCertificationFileName;
	}

	public String getMarketName() {
		return marketName;
	}

	public void setMarketName(String marketName) {
		this.marketName = marketName;
	}
	
	
}
